import { createContext, useReducer } from "react";
// 可以在一个content中引入多套reducer
import Sip from './sip/reducer'
// import {CallEndEvent, LatencyStat, StateListenerMessage,CallEndEvent,LatencyStat} from "../types";
// 创建 context
export const MyContext = createContext<any>({});

/**
 * 创建Context组件，该组件可以包含多套reducer，每一套reducer中都有相应的数据和动作
 * 假如子组件需要content中color相关的数据时，可以通过调用colorContext访问数据，通过调用colorDispatch更新数据
 * 同理可知子组件需要content中food相关的数据时，可以通过调用foodContext访问数据，通过调用foodDispatch更新数据
 */
export default function Context(props:any) {
  const [sipContext, sipDispatch] = useReducer(Sip, {
    sipClient:null,
    sipMessage:null,
    sipCallTime:'',
    visibleOperation:false
  })  // color数据和动作初始化
  return (
    <MyContext.Provider value={{ sipContext, sipDispatch}}>
      {props.children}
    </MyContext.Provider>
  );
};
